package au.com.handsunited.model.language;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import au.com.handsunited.model.MotherOfAllEntities;

/**
 * @author arunda
 *
 */
public class Language extends MotherOfAllEntities implements Comparable<Language> {


	private String name;

	private static Logger logger = LoggerFactory.getLogger(Language.class);

	public Language() {
		super();
	}

	/**
	 * @param name
	 */
	public Language(String name) {
		this();
		this.name = name;
	}

	/**
	 * @see au.com.handsunited.model.language.Language#getName()
	 */
	public String getName() {
		return name;
	}

	/**
	 * @see au.com.handsunited.model.language.Language#setName(java.lang.String)
	 */
	public void setName(String name) {
		this.name = name;
	}


	public static final String[] LANGUAGES = new String[] {
		"Afrikaans", "Albanian", "Amharic", "Arabic", "Armenian", "Assamese",
		"Azeri", "Balinese", "Basque", "Bengali", "Bhojpuri", "Bikol", "Bosnian",
		"Bulgarian", "Burmese", "Cantonese", "Catalan", "Cebuano", "Croatian",
		"Czech", "Danish", "Dari", "Dutch", "English", "Estonian", "Farsi",
		"Finnish", "Flemish", "French", "Fuzhou", "Georgian", "German", "Greek",
		"Gujarati", "Haitian Creole", "Hakka", "Hausa", "Hebrew", "Hiligaynon",
		"Hindi", "Hmong", "Hokkien", "Hungarian", "Icelandic", "Ilocano", "Indonesian",
		"Italian", "Japanese", "Javanese", "Kannada", "Kazakh", "Khmer", "Korean",
		"Kurdish", "Lao", "Latvian", "Lingala", "Lithuanian", "Luganda", "Macedonian",
		"Malay", "Malayalam", "Mandarin", "Maori", "Marathi", "Mongolian", "Ndebele",
		"Nepali", "Norwegian", "Oriya", "Pashto", "Polish", "Portuguese", "Punjabi",
		"Quechua", "Romanian", "Russian", "Serbian", "Sign Language", "Sindhi", "Sinhalese",
		"Slovak", "Slovenian", "Somali", "Spanish", "Sundanese", "Swahili", "Swedish",
		"Tagalog", "Tamil", "Tatar", "Telugu", "Thai", "Tibetan", "Tigrinya", "Turkish",
		"Turkmen", "Ukrainian", "Urdu", "Uzbek", "Vietnamese", "Waray", "Xhosa", "Yoruba",
		"Zulu"
	};

	/**
	 * @see java.lang.Comparable#compareTo(java.lang.Object)
	 */
	@Override
	public int compareTo(Language language) {
		return name.compareToIgnoreCase(language.getName());
	}
}
